Starting color rgb(98% 89% 75%) is lab(91.44% 4.142 20.52)

(ICC profiles are in css-color-4/ICCprofiles )

Converting to CMYK in swop, xicclu -f b .\SWOP2006_Coated5v2.icc

91.440000 -4.142000 20.520000 [Lab] -> Lut -> 0.091777 0.043303 0.312816 0.000000 [CMYK]

using ICC with coated fogra:  xicclu -f f .\Coated_Fogra39L_VIGC_300.icc

0.091777 0.043303 0.312816 0.000000 [CMYK] -> Lut -> 91.840596 -3.559090 20.449159 [Lab]
which is rgb(92.81% 91.34% 75.31%)

let color1 = new Color("lab(91.44% 4.142 20.52)");
let color2 = new Color("lab(91.840596 -3.559090 20.449159)");

color1.deltaE(color2, "2000");  8.17

lab(91.840596 -3.559090 20.449159) is rgb(92.81% 91.34% 75.31%)

Now using naive algorithm:

0.091777 0.043303 0.312816 0.000000

function naive(cmyk) {
  let [cyan, magenta, yellow, black] = cmyk;
    let red = 1 - Math.min(1, cyan * (1 - black) + black);
    let green = 1 - Math.min(1, magenta * (1 - black) + black);
    let blue = 1 - Math.min(1, yellow * (1 - black) + black);… 
}

let x = [0.091777, 0.043303, 0.312816, 0.000000]
naive(x);  //  [ 0.908223, 0.956697, 0.687184 ]

rgb(90.8223% 95.6697% 68.7184%) = lab(94.02% -12.31 31.79)

let color1 = new Color("lab(91.44% 4.142 20.52)");
let color2 = new Color("lab(91.840596 -3.559090 20.449159)");
let color3 = new Color("rgb(90.8223% 95.6697% 68.7184%)");

color1.deltaE(color2, "2000"); // 8.17
color1.deltaE(color3, "2000"); // 14.3